package com.lxk.mall.pms.domain.vo.comment;

import java.util.Date;

import com.lxk.mall.pms.domain.PmsProductComment;
import com.alibaba.excel.annotation.ExcelIgnoreUnannotated;
import com.alibaba.excel.annotation.ExcelProperty;
import io.github.linpeilie.annotations.AutoMapper;
import lombok.Data;

import java.io.Serial;
import java.io.Serializable;


/**
 * 商品评论视图对象 pms_product_comment
 *
 * @author Lion Li
 * @date 2024-06-06
 */
@Data
@ExcelIgnoreUnannotated
@AutoMapper(target = PmsProductComment.class)
public class PmsProductCommentVo implements Serializable {

    @Serial
    private static final long serialVersionUID = 1L;

    /**
     * 评论编号，主键自增
     */
    @ExcelProperty(value = "评论编号，主键自增")
    private Long id;

    /**
     * 商户id
     */
    private Long merId;

    /**
     * 评价人的用户编号，关联 MemberUserDO 的 id 编号
     */
    @ExcelProperty(value = "评价人的用户编号，关联 MemberUserDO 的 id 编号")
    private Long userId;

    /**
     * 评价人名称
     */
    @ExcelProperty(value = "评价人名称")
    private String userNickname;

    /**
     * 评价人头像
     */
    @ExcelProperty(value = "评价人头像")
    private String userAvatar;

    /**
     * 是否匿名
     */
    @ExcelProperty(value = "是否匿名")
    private Boolean anonymous;

    /**
     * 交易订单编号，关联 TradeOrderDO 的 id 编号
     */
    @ExcelProperty(value = "交易订单编号，关联 TradeOrderDO 的 id 编号")
    private Long orderId;

    /**
     * 交易订单项编号，关联 TradeOrderItemDO 的 id 编号
     */
    @ExcelProperty(value = "交易订单项编号，关联 TradeOrderItemDO 的 id 编号")
    private Long orderItemId;

    /**
     * 商品 SPU 编号，关联 ProductSpuDO 的 id
     */
    @ExcelProperty(value = "商品 SPU 编号，关联 ProductSpuDO 的 id")
    private Long spuId;

    /**
     * 商品 SPU 名称
     */
    @ExcelProperty(value = "商品 SPU 名称")
    private String spuName;

    /**
     * 商品 SKU 编号，关联 ProductSkuDO 的 id 编号
     */
    @ExcelProperty(value = "商品 SKU 编号，关联 ProductSkuDO 的 id 编号")
    private Long skuId;

    /**
     * 图片地址
     */
    @ExcelProperty(value = "图片地址")
    private String skuPicUrl;

    /**
     * 属性数组，JSON 格式 [{propertId: , valueId: }, {propertId: , valueId: }]
     */
    @ExcelProperty(value = "属性数组，JSON 格式 [{propertId: , valueId: }, {propertId: , valueId: }]")
    private String skuProperties;

    /**
     * 是否可见，true:显示false:隐藏
     */
    @ExcelProperty(value = "是否可见，true:显示false:隐藏")
    private Boolean visible;

    /**
     * 评分星级1-5分
     */
    @ExcelProperty(value = "评分星级1-5分")
    private Integer scores;

    /**
     * 描述星级 1-5 星
     */
    @ExcelProperty(value = "描述星级 1-5 星")
    private Integer descriptionScores;

    /**
     * 服务星级 1-5 星
     */
    @ExcelProperty(value = "服务星级 1-5 星")
    private Integer benefitScores;

    /**
     * 评论内容
     */
    @ExcelProperty(value = "评论内容")
    private String content;

    /**
     * 评论图片地址数组
     */
    @ExcelProperty(value = "评论图片地址数组")
    private String picUrls;

    /**
     * 商家是否回复
     */
    @ExcelProperty(value = "商家是否回复")
    private Boolean replyStatus;

    /**
     * 回复管理员编号，关联 AdminUserDO 的 id 编号
     */
    @ExcelProperty(value = "回复管理员编号，关联 AdminUserDO 的 id 编号")
    private Long replyUserId;

    /**
     * 商家回复内容
     */
    @ExcelProperty(value = "商家回复内容")
    private String replyContent;

    /**
     * 商家回复时间
     */
    @ExcelProperty(value = "商家回复时间")
    private Date replyTime;

    @ExcelProperty(value = "创建时间")
    private Date createTime;


}
